System and method for planning support removal in hybrid manufacturing with the aid of a digital computer

ABSTRACT

Algorithmic reasoning about a cutting tool assembly&#39;s space of feasible configurations can be effectively harnessed to construct a sequence of motions that guarantees a collision-free path for the tool assembly to remove each support structure in the sequence. A greedy algorithm models the motion of the cutting tool assembly through the free-spaces around the intermediate shapes of the part as the free-spaces iteratively reduce in size to the near-net shape to determine feasible points of contact for the cutting tool assembly. Each support beam is evaluated for a contact feature along the boundary of the near-net shape that constitutes a feasible point of contact. If a support beam has at least one feasible configuration at each point, the support beam is deemed ‘accessible’ and a collection of tool assembly configurations that are guaranteed to be non-colliding but which can access all points of contact of each accessible support beam can be generated.

FIELD

This application relates, in general, to hybrid manufacturing processes and, in particular, to a system and method for planning support removal in hybrid manufacturing with the aid of a digital computer.

BACKGROUND

Historically, the manufacturing of parts from raw stock or material has involved two distinct, albeit combinable, manufacturing processes. Fabricating a part through subtractive manufacturing (SM) involves progressively removing or machining material from raw stock until the part has been reduced to a rough form within a specified tolerance. In SM processes, raw material is often removed by turning, drilling, or milling the part being fabricated. Drilling involves traversing a rotating bit along a longitudinal axis while milling operates in three-dimensional space. Following completion of SM processes, post-processing may be required to smooth, polish, finish, or otherwise transform the part into final completed form.

Fabricating a part through additive manufacturing (AM) involves progressively adding or depositing material onto a part being fabricated, often by adding successive layers, until the part approximates an intended shape and size. However, in contrast to SM, many AM processes add support materials or scaffolding to the part being fabricated as part of the AM process plan, so that the part does not collapse under its own weight because the part being fabricated will continually increase in size and weight as manufacturing progresses.

While SM processes often end when a rough form of the desired part has been achieved, AM processes may instead create a shape that still requires further transformation due to the addition of the scaffolding. This interim result is known as a near-net shape, which is the part being fabricated, plus any supports that were added during AM manufacturing. Ordinarily, the near-net shape is post-processed to remove the scaffolding using a range of potential processes from manually removing the supports with a chisel-like cutting tool to programming collision-free tool paths for a CNC-mill to remove the supports, after which even further post-processing may be required to transform the part without scaffolding into final form.

Due to the need to remove scaffolding, AM can be characterized as one of several manufacturing processes that may be needed to fabricate a part, rather than as a stand-alone solution, although removing scaffolding is but one example of a manufacturing process that involves both AM and SM operations. More generally, any sequence of AM and SM processes, independent of the ordering of their respective contributions, can be defined as a hybrid manufacturing process. An approach to process planning for hybrid manufacturing is described in U.S. Ser. No. 15/858,677, filed Dec. 29, 2017 the disclosure of which is incorporated by reference.

In a hybrid manufacturing process, understanding the interactions between SM and AM operations is critical, especially when planning the layout and removal of the supporting material generated by the AM process. The interaction of SM and AM processes creates a spatial planning problem that requires the analysis of the feasible, that is, non-colliding, spatial configurations of tools to be used against a dynamic near-net shape that must be continually updated whenever a support is removed. The analysis also requires determining whether supports are being placed in locations during AM that will later be inaccessible to the cutting tools used in the SM process.

Hybrid machines equipped with both AM and SM capabilities have emerged, including the Ambit™-Dextrous Manufacturing system, sold by Hybrid Manufacturing Technologies, McKinney, Tex., and the Lasertec 65 3D, sold by DMG Mori Seiki Co., Nakamura-ku, Nagoya, Japan. These machines typically couple a LENS (Laser Engineered Net Shaping) or similar direct energy deposition AM process with a high-axis milling center to enable AM parts fabrication on curved surfaces. However, LENS-type AM processes are not well suited to creating near-net shapes, which limits the range of parts that can be built.

Therefore, a need exists for an approach to planning removal of AM-process-generated supports from a dynamic near-net shape through an SM process.

SUMMARY

Algorithmic reasoning about a cutting tool assembly's space of feasible configurations can be effectively harnessed by an SM tool path planner to construct a sequence of motions that guarantees a collision-free path for the tool assembly to remove each support structure in the sequence. A greedy algorithm models the motion of the cutting tool assembly through the free-spaces around the intermediate shapes of the part as the free-spaces iteratively reduce in size to the near-net shape to determine feasible regions (or points) of contact for the cutting tool assembly. Each support beam is evaluated for a contact feature along the boundary of the near-net shape that constitutes a feasible region of contact for the tool assembly to either partially or totally remove the individual support beam. If non-existent, the part is found to be non-manufacturable because no SM process plan to cut the support beams from the near-net shape, such that the part can be dislodged, exists. However, if a support beam has at least one feasible configuration at each region of contact with the part, the support beam is deemed ‘accessible’ and a collection of tool assembly configurations that are guaranteed to be non-colliding but which can access all regions of contact of each accessible support beam can be generated. Support beams deemed accessible in one iteration of the algorithm are removed from the next iteration, so that the near-net shape gradually shrinks to the part's shape.

An embodiment provides a system and method for planning support removal in hybrid manufacturing with the aid of a digital computer. A computer is provided with parameters for a machining tool assembly. Each parameter includes orientations and positions of the machining tool assembly. The computer is also provided with a model of a part defining surfaces and the interior of the part and one or more support structures that were added to the part during additive manufacturing. A near-net shape is modeled with the computer initially as the part combined with the support structures. A configuration space is set up with the computer including geometric transformations that represent the spatial motions of the machining tool assembly based upon the machining tool assembly's parameters. A manner of construction of each of the support structures is determined with the computer to provide contact features at an intersection of the support structures and the part. Each of the support structures is evaluated with the computer for the existence of a contact feature within free-space that is available within the configuration space around the near-net shape that includes a feasible region of contact for the tool assembly to remove all of the support structures that are accessible from the near-net shape. A collision-free support removal sequence is guaranteed to exist for every support structure in the set of accessible support structures. in further embodiments, various heuristics can be used to order the sequence of support removals, for instance, minimizing orientation changes, minimizing time or cost, maximizing surface quality, and so forth.

While planning the support removal sequence, each newly removed support structure is added to a list representing the removal sequence and the near-net shape is continually updated as each support structure is incrementally removed. For each of the support structures in the support removal sequence, a set of collision-free contact configurations of the machining tool assembly at the boundary feature is constructed with the computer, provided that boundary features are found for all of the support structures. Note that as each support is removed, the tool's feasible configuration space increases and increases the available space of motions for the next accessible support. Process plans including machining operations by the machining tool assembly are created with the computer based upon the sets of collision-free contact configurations of the machining tool assembly for the support structures. The machining tool assembly is programmed with the computer with the process plans and the machining tool assembly is operated per the machining operations in the process plans by machining off the support structures.

Still other embodiments of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein is described embodiments of the invention by way of illustrating the best mode contemplated for carrying out the invention. As will be realized, the invention is capable of other and different embodiments and its several details are capable of modifications in various obvious respects, all without departing from the spirit and the scope of the present invention. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a side view showing, by way of example, a near-net shape as fabricated through AM processes.

FIG. 2 is a functional block diagram showing a system for planning support removal in hybrid manufacturing with the aid of a digital computer in accordance with one embodiment.

FIG. 3 is a flow diagram showing a method for planning support removal in hybrid manufacturing with the aid of a digital computer in accordance with one embodiment.

FIG. 4 is a flow diagram showing a routine for performing a greedy algorithm to plan the removal of the support beams from the near-net shape for use in the method of FIG. 3.

FIG. 5 is a flow diagram showing a recursive routine for evaluating manufacturability of a part being fabricated for use in the routine of FIG. 4.

DETAILED DESCRIPTION

Planning SM processes for removing scaffolding from an AM-produced near-net shape requires analysis of feasible non-colliding cutting tool configurations in a dynamically-changing space. As each support is removed from the near-net shape, the space available to the cutting tool for collision-free motion around the near-net shape changes, usually by increasing the amount of free space within which a cutting tool assembly can move. For each type of cutting tool to be used, a tool's configuration includes a position and orientation. Thus, the combination of the part and scaffolding, which constitute the near-net shape, and tool assembly configuration geometries together creates a complex problem space for determining support removability through SM processes.

A support removal process plan for SM processes includes sequences of support beams to be removed. FIG. 1 is a side view showing, by way of example, a near-net shape 10 as fabricated through AM processes. Support structures or scaffolding, often in the form of support beams 12, have been added during AM to support the part being fabricated 11. The scaffolding is often organized in tree-like shapes to save material, which is eventually discarded or potentially reused for other purposes. For convenience, “support structure,” “scaffolding,” and “support beam” will be used interchangeably to refer to the support material that has been added to a part being fabricated by AM processes.

For each support removal sequence generated, a tool path planner, such as a computer-aided manufacturing (CAM) system, or a system using motion planning algorithms, for instance, the Open Motion Planning Library (OMPL), generates a tool path to be used in a process plan. FIG. 2 is a functional block diagram showing a system 20 for planning support removal in hybrid manufacturing with the aid of a digital computer in accordance with one embodiment. A tool path planner 21 is provided through a centralized server 22. The server 22 can be remotely accessed via the Web over a wide area public data communications network, such as the Internet, using wired or wireless connections. Users can interface with the server 22 through a Web browser 28 executing on a personal computer 27, mobile “smart” phone, or similar device. Alternatively, the tool path planner 21 can be provided locally on the personal computer 27 or similar device.

The server 22 is operatively coupled to a storage device 24, within which is stored models of designed parts 25 that define surfaces and the interior of the part, such as represented using some CAD representation such as STEP, STL, voxels or some other solid model representation, a library of cutting or machining tools 26, and, in one embodiment, a library of motion planning algorithms, such as the Open Motion Planning Library (OMPL). Both the server 22 and personal computer 27 include components conventionally found in general purpose programmable computing devices, such as a central processing unit, memory, input/output ports, network interfaces, and non-volatile storage, although other components are possible. In addition, other computational components are possible.

In one embodiment, through the tool path planner 21, the Web-based service 23 generates process plans 30 that each contain support removal sequences. Each sequence includes CNC machining instructions that have been generated by the tool path planner 21 by modeling the inherent capabilities of a hybrid manufacturing setup 29. The hybrid manufacturing setup 29 includes a cutting or machining tool assembly 31 for performing SM operations. The machining tool assembly 29 can be programmed with the machining instructions in the process plans 30 generated by the tool path planner 21 and operated to remove supporting beams 12 from the near-net shape 10.

The tool path planner 21 implements a geometric engine that executes a set of spatial planning algorithms for automated manufacturability analysis of arbitrary geometric models, without making assumptions on the tool geometry and degrees of freedom, or the existence of surrounding tooling and fixtures, such as described in U.S. Pat. No. 9,292,626, issued Mar. 22, 2016, to Nelaturi et al., the disclosure of which is incorporated by reference. The manufacturing setup model corresponds to the library of cutting or machining tools 26 with specifications for each operable tool, and the tool path planner 21 connects the available capability of each tool to the uploaded geometric model of each part 25 to provide qualitatively distinct process plans, represented in the form of a JSON (“JavaScript Object Notation”) file or similar structured encoding or human-readable format, with detailed feedback for each individual plan.

The geometric reasoning algorithms use tooling information from the library 26 to allow the tool path planner 21 to generate a collision-free path for the tool assembly to remove one support beam 12 at a time, as further described infra with reference to FIG. 3. As each support beam 12 is removed, the tool path planner 21 must reason about accessing the removal of the remaining support beams 12 in the context of the space just freed up by the removal of that support beam 12. In each successive iteration within the support removal sequence, the tool path planner 21 relies upon a solid model corresponding to the near-net shape 10 and all remaining support structure 12 that together constitute a physical obstacle that the machining tool assembly 31 must avoid. Thus, based upon the available space, the tool path planner 21 attempts to find the best way to remove the next support beam 12 in the support removal sequence, provided that the next support beam 12 is accessible to the machining tool assembly 31.

In modeling an SM process plan problem space, begin by assuming that there are finitely many (say k) support beams 12 that contact the fabricated part 11. Each support beam 12 can be numbered and indexed, so as to generate all k! permutations of support structure removal sequences. Considering that a single part 11 being fabricated may consist of several hundred support beams 12, an enumeration of all k! permutations would result in an astronomically large set of possible support removal sequences. Generating and testing each possible sequence would be impracticable.

On the other hand, human engineers may be able to visually inspect a near-net shape and recommend a candidate set of support beam removal sequences based on their own experience. Importantly, a human engineer may be able to quickly decide if a near-net shape 10 has support beams 12 that cannot be removed, for example, when supports support beams 12 are placed in internal voids 13, and that knowledge can be used to pare down the size of the problem space. Nevertheless, relying upon human expertise can present shortcomings due to the limitations inherent in the human reasoning of three-dimensional space and a fully automated process plan generate and test approach for candidate sequences of support removal is needed.

Algorithmic reasoning about a cutting tool assembly's space of feasible configurations can be effectively harnessed by the tool path planner to construct a sequence of supports structures 12 that guarantees a collision-free path for the tool assembly to remove each support structure 12 in the sequence. FIG. 3 is a flow diagram showing a method 40 for planning support removal in hybrid manufacturing with the aid of a digital computer in accordance with one embodiment. The method 40 is performed as a series of process or method steps performed by, for instance, a general purpose programmed computer, such as the server 22 and personal computer 27, or other programmable computing device.

Initially, a model of the manufacturing setup, including a library of the cutting tools 26 to be used to machine the near-net shape 12, as well as knowledge of the part 11 as designed and the scaffolding 12 (available through the stored models of designed parts 25), are respectively retrieved (steps 41 and 42). Note that initially, the near-net shape 10 is the combination of the part 11 and the scaffolding 12. The library 26 stores information on each type of milling tool, including the orientations and positions in which the milling tool can operate. Next, for process planning purposes, the tip of the machining tool assembly 29 is logically located (step 43) to coincide with the origin of a coordinate system in R³. The tool assembly's tip would ordinarily be the aspect of the machining tool 31 that makes actual physical contact with the near-net shape 10 to remove a support beam 12 from the part 11. This coordinate system is used to measure the relative positions and orientations of the tool assembly T with respect to the near-net shape N. Next, logically assume that there are finitely many support beams S={S₁, . . . , S_(k)} added on to the part P that is intended to be fabricated by the AM process (step 44). In general, k will represent the actual number of support beams 12. Therefore, N=P U_(i=1) ^(k)S_(i).

Unlike traditional machining, the entire scaffolding 12 need not be completely machined off the near-net shape 10, though that is a feasible strategy. Rather, in SM processes, fracturing the region (or point) of contact between the support beam 12 and the part 11, so that the part 11 can be disengaged from the support beam 12, will suffice. Therefore, at a minimum, collision-free contacts between the cutting tool's tip and the region of a near-net shape 10 where a support beam 12 touches the part's surface must be found. A greedy algorithm to plan the removal of the support beams 12 from the near-net shape 10 is performed (step 45), as further described infra with reference to FIG. 4 (step 46), after which process plans are created (step 47) based upon the collection of tool assembly configurations that were generated and the method completes.

The greedy algorithm models the motion of the tool assembly 31 through the free-spaces around the near-net shape 10 and the part 10 to determine feasible points of contact for the tool assembly 31. FIG. 4 is a flow diagram showing a routine 60 for performing a greedy algorithm to plan the removal of the support beams 12 from the near-net shape 10 for use in the method 40 of FIG. 3. First, a configuration space of rigid motions for the tool assembly 31 (geometric transformations) is set up (step 61) by assuming that the tool assembly T can operate with all six degrees of freedom available for a rigid body, that is, three translations and three rotations. Mathematically, this assumption can be expressed as the configuration space of rigid motions C=R³×SO(3), where SO(3) refers to the group of 3×3 orthogonal transformations that represent spatial rotations of the tool assembly T based upon the tool assembly's parameters, including orientations and positions along which the tool cuts away raw material. Define projections from C to R³ and to SO(3) as follows: π₁ C:→R ³  (1) π₂ :C→SO(3)  (2)

Now, define the free-space F_(N) around the near-net shape N as the set of all of tool assembly T's configurations that do not collide with the near-net shape N, that is, all non-colliding orthogonal transformations of the machining tool assembly within the configuration space C, and any workholding devices W that are used to fixture the part as scaffolding is removed: F _(N) ={g∈C s.t. T _(g) ∩*{N∪W}=∅}  (3) where the letter g emphasizing that C is also a Lie group called the Special Euclidean group SE(3). Here T_(g) refers to the tool assembly T transformed by an element g∈C, and ∩* refers to regularized intersection. The complement of the free space F_(N) is called the obstacle space O that delineates configurations of the tool assembly T that cause collision with the near-net shape N. Therefore, the boundary shared by O and F_(N) delineates all of the tool configurations that cause contact, but no collision between the tool assembly T and the near-net shape N.

Similarly, define the free-space F_(P) around the part P as the set of all of tool assembly Ts configurations that do not collide with P∩W, which is the part P and any workholding devices W. F _(P) ={g∈C s.t. T _(g) ∩*{P∪W}=∅}  (4) Notice that after the AM processes complete and before the SM processes start, F_(P)⊃F_(N), that is, the free-space F_(P) around the part P is a superset of the free-space N around the near-net shape N because the support beams 12 will prevent the tool assembly T from being able to reach the physical space otherwise available to access the part P. As the support beams 12 are removed, the near-net shape N will get smaller and converge in size towards the size of the part P, while the free-space F_(N) around the near-net shape N will get larger and converge towards the free-space F_(P) around the part P.

Given a boundary feature F⊂∂P, where boundary of a set Y is denoted ∂Y, two sets of collision-free contact configurations of tool assembly T at the boundary feature F can be defined as: A _(F) ^(P) ={g∈∂F _(P)|π₁(T _(g))∈F}  (5) A _(F) ^(N) ={g∈∂F _(N)|π₁(T _(g))∈F}  (6) The intersection of each support beam S_(i)∈S with the part P will be a boundary feature F_(i). For simplicity, assume that boundary feature F_(i) is a point set, which is consistent with AM practice, where support beams S are often designed to have minimal contact with the boundary of the part ∂P to minimize surface roughness and enable easier fracture and removal of the support beams S by SM processes.

Next, the manner of construction of the support beams 12 is determined (step 62) to provide boundary features at the intersection of the individual support beam S_(i) and the part P. Preferably, support beams are constructed from a surface of ∂P to a stationary base plate or fixture. However, in some situations, the support beams 12 may have to be constructed from one location of ∂P to another location of ∂P. Also, an individual support beam S_(i) may contact the part P at multiple locations when the contacting support beams are “branched” outwards from a main “trunk,” such as occurs when the scaffolding is organized in tree-like shapes. To accommodate these situations, a specific boundary feature F_(i)=S_(i)∩P can be a discrete point set, which is the intersection of the individual support beam S_(i) and the part P. Therefore, if A_(F) _(i) ^(N)≠∅, where A_(F) _(i) ^(N) is the set of collision-free contact configurations of tool assembly T at the boundary feature F_(i), then each f∈F_(i), such that π₁(A_(F) _(i) ^(N))=f, is a feasible point of contact for the tool assembly T within the configuration space C to either partially or totally remove the individual support beam S_(i).

The part 11 is then evaluated for manufacturability (step 63), as further described infra with reference to FIG. 5. If a part being fabricated 11 is non-manufacturable (step 64), no SM process plan to cut the support beams S from the near-net shape N so that the part P can be dislodged, exists and the greedy algorithm terminates.

On the other hand, if a part being fabricated 11 is manufacturable (step 64), that is, boundary features F_(i) have been found for all of the support beams S, a collection of tool assembly configurations that are guaranteed to be non-colliding but which can access all points in the boundary features F_(i) can be generated (step 65) using the support removal sequence, after which the greedy algorithm terminates. In a further embodiment, human engineers can validate the process plans and, if desired, re-order the support removal sequence. The reordered support removal sequence is resubmitted to the greedy algorithm to attempt to re-plan the tool motions to remove the supports without collision, starting with determining the manner of construction of the support beams 12 (step 62) based upon the reordered support removal sequence.

Hybrid manufacturability hinges upon the ability to remove the support beams 12 from a near-net shape 10 to yield the part 11. FIG. 5 is a flow diagram showing a recursive routine 80 for evaluating manufacturability of a part being fabricated 11 for use in the routine 60 of FIG. 4. The routine is recursive, although an iterative structure could be used instead. Assuming that there are still support beams S_(i) remaining in the set of support beams S (step 81), all of those support beams S_(i) are evaluated to find an individual support beam S_(i) where π₁(A_(F) _(i) ^(N))=F_(i) (step 82), that is, F_(i) is a feature along the boundary of the near-net shape 10 that constitutes a feasible point of contact for the tool assembly T to either partially or totally remove the individual support beam S_(i). If an individual support beam S_(i) does not exist (step 83), the part P is found to be non-manufacturable (step 84) because no SM process plan to cut the support beams S from the near-net shape N, so that the part P can be dislodged exists. However, if such an individual support beam S_(i) does exist (step 83), then by constructing A_(F) _(i) ^(N), which is the set of collision-free contact configurations of tool assembly T at the boundary feature F_(i), a collection of tool assembly configurations that are guaranteed to be non-colliding but which can access all points in F_(i) can be extracted. The near-net shape 10 is continually updated as each support beam S_(i) is incrementally removed. Thus, the near-net shape N is updated to become N−S_(i) (step 85), the individual support beam S_(i) is removed from the set of remaining support beams S (step 86), and individual support beam S_(i) is added to the support removal sequence (step 87). The routine recurses (or iterates) until no support beams S remain in the set (step 81), or the part P is found to be non-manufacturable (step 84) for a given sequence of support beams to be removed.

There may be multiple individual support beams S_(i) that are eligible for removal at each recursion (or iteration), that is, multiple support beams S_(i) may satisfy the condition that π₁(A_(F) _(i) ^(N))=F_(i) (step 82). The choice of a particular individual support beam S_(i) then affects how the near-net shape N is updated, which in turn affects the subsequent collision-free contact configurations A_(F) ^(N) of tool assembly T at the boundary feature F. A tool path planner 21 that uses motion planning algorithms, for instance, the OMPL, cited supra, may be used to choose a particular support beam 12 and plan the individual tool assembly trajectories from the chosen support beam 12 to the next support beam 12 in the support removal sequence. The challenge with this approach, though, is computing the collision-free contact configurations A_(F) _(i) ^(N) of tool assembly T at the boundary feature F_(i) at each iteration of the support removal sequence, as the near-net shape N is updated as each support beam 12 is removed, which occurs in the six-dimensional configuration space C, as discussed in detail infra. Furthermore, limited accessibility may require complex tool paths to execute (if possible). Nevertheless, the greedy algorithm will always return a valid sequence of support removals if such a sequence exists.

In practical situations, several collision-free support removal sequences may be possible and various combinations of collision-free contact configurations A_(F) _(i) ^(N) may need to be explored to find optimal removal sequences. A “good” sequence could be determined by evaluating the candidate process plans based upon a manufacturing heuristic, optimization constraint, or cost constraint sought to be optimized, for instance, minimizing time, using as few orientations as possible for three-axis milling, or maximizing surface finish, such as described in U.S. Patent application Pub. No. US 2017/0220028, filed Jan. 29, 2016, pending, the disclosure of which is incorporated by reference. One or more qualitatively distinct process plans for machining a part through SM processes are created; the surfaces of the part are modeled and parameters for a plurality of cutting tools are obtained. The parameters include orientations and positions along which each cutting tool cuts away raw material. Each process plan includes a maximal set of translations for each cutting tool, where each translation includes a collision-free orientation of the cutting tool and a maximal machinable volume of material removable from the part in that orientation. A search engine navigates through a hierarchically-structured search space that starts at an initial state and transitions to successive states based on actions that satisfy a cost constraint function. One of the actions is chosen as guided by a heuristic that is based on aggregate cost and the negative volume that remains after subtracting the maximal sub-volume for the action chosen. Each state and each action includes a tool, orientation of the tool, and a maximal machinable volume. The search ends when a goal condition is satisfied and the actions that satisfy the cost constraint function constitute the process plan to be used.

More generally, to optimize the sequencing of SM processes, a search space can be iteratively built where each search node stores distinct boundary features F_(N) for the near-net shape N as obtained by calculating the free-space F_(N) around the near-net shape N resulting from subtracting a distinct support beam S_(i)∈S from the near-net shape N. Several practical heuristics may be used to pick the support beams 12 that are good candidates for removal. For example, visibility analysis for manufacturing algorithms may be used to decide which of the F_(i) have the most visibility because visibility can be used as a weak condition for accessibility. Furthermore, there may be practical considerations about how much deviation from the surface normal can be allowed for the tool contact orientations to minimize scalloping the part surface. Therefore, a limited set of cutting tool assembly orientations may be chosen a priori to minimize the number of cutting tool assembly orientations for which the free-spaces need to be computed.

The six-dimensional configuration space of obstacles and free-space for complex cutting tool and fixture assemblies can be effectively modeled to compute the collision-free contact configurations A_(F) _(i) ^(N) of tool assembly T at the boundary feature F_(i) at each iteration of a support removal sequence, such as described in S. Nelaturi, Configuration Modeling, Ph.D. Dissertation, Univ. of Wisconsin-Madison (2012), and U.S. Pat. No. 9,235,658, issued Jan. 12, 2016, to Nelaturi et al., and U.S. Pat. No. 9,566,697, issued Feb. 14, 2017, to Nelaturi et al., the disclosures of which are incorporated by reference. Given a collection of orientations sampled to a desired density, the six-dimensional spaces can be computed by calculating the three-dimensional translational free-space for each sampled orientation. In practice, computing the obstacle space, that is, the complement of the free-space, may be more convenient to compute since the obstacle space is a closed and bounded set. By computing the six-dimensional obstacle space, all of the contact configurations at a specific location can be retrieved by querying the boundary of the six-dimensional obstacle in time linear to the number of sampled orientations. The collision-free contact configurations A_(F) _(i) ^(N) can be obtained by querying the contact configurations at each F_(i).

More generally, given a collection of free-spaces obtained by iteratively reducing the number of support beams, standard search algorithms, such as A* (with an implemented cost function), can be used to find the best sequence of free-spaces that will provide a low-level tool path planner that uses motion planning algorithms, for instance, the OMPL, cited supra, all the available configurations to find a tool path from one support beam to the next support beam, and execute the support removal.

While the invention has been particularly shown and described as referenced to the embodiments thereof, those skilled in the art will understand that the foregoing and other changes in form and detail may be made therein without departing from the spirit and scope of the invention. 

What is claimed is:
 1. A system for planning support removal in hybrid manufacturing with the aid of a digital computer, comprising the steps of: a computer, comprising: a storage device, comprising: parameters for a machining tool assembly, each parameter comprising orientations and positions of the machining tool assembly; a model of a part defining surfaces and the interior of the part and one or more support structures that were added to the part during additive manufacturing; and a near-net shape initially modeled as the part combined with the support structures; and a processor and memory within which code for execution by the processor is stored to perform the steps comprising: setting up a configuration space comprising geometric transformations that represent the spatial motions of the machining tool assembly based upon the machining tool assembly's parameters; determining a manner of construction of each of the support structures to provide contact features at an intersection of the support structures and the part; evaluating each of the support structures for the existence of a contact feature within free-space that is available within the configuration space around the near-net shape that comprises a feasible region of contact for the tool assembly to remove all of the support structures that are accessible from the near-net shape, wherein the support structure is added to a support removal sequence and the near-net shape is continually updated as each support structure is incrementally removed; constructing for each of the support structures in the support removal sequence a set of collision-free contact configurations of the machining tool assembly at the contact feature, provided that contact features are found for all of the support structures; creating process plans comprising machining operations by the machining tool assembly based upon the sets of collision-free contact configurations of the machining tool assembly for the support structures; and programming the machining tool assembly with the process plans and operating the machining tool assembly per the machining operations in the process plans by machining off the support structures.
 2. A system in accordance with claim 1, further comprising code for execution by the processor to perform the steps comprising: defining the free-space around the near-net shape as the set of all of the machining tool assembly geometric transformations of the machining tool assembly that do not collide with the near-net shape and any workholding devices that are used to fixture the part as the support structures are removed.
 3. A system in accordance with claim 2, wherein the free-space around the near-net shape N is defined in accordance with: F _(N) ={g∈C s.t. T _(g) ∩*{N∪W}=∅} where C represents the configuration space, T_(g) refers to the machining tool assembly transformed by an element g∈C, ∩* refers to regularized intersection, and W represents any workholding devices.
 4. A system in accordance with claim 3, wherein each f∈F_(i), where f is a feasible region of contact for the tool assembly T within the configuration space C to either partially or totally remove the individual support beam S_(i), is defined in accordance with: π₁(A _(F) _(i) ^(N))=f where A_(F) _(i) ^(N) is the set of collision-free contact configurations of tool assembly T at the contact feature F_(i), provided that A_(F) _(i) ^(N)≠∅.
 5. A system in accordance with claim 4, wherein F_(i) comprises a discrete point set comprising the intersection i of the support beam S_(i) being evaluated and the part P.
 6. A system in accordance with claim 1, further comprising code for execution by the processor to perform the steps comprising: modeling the near-net shape with the computer as the part combined with the support structures minus the support structure being evaluated; and removing with the computer the support structure being evaluated from the model of the support structures.
 7. A system in accordance with claim 1, further comprising code for execution by the processor to perform the steps comprising: finding with the computer that the part is non-manufacturable when no contact feature within free-space around the near-net shape that comprises a feasible region of contact for the tool assembly within the configuration space to remove the support structure from the near-net shape exists.
 8. A system in accordance with claim 1, further comprising code for execution by the processor to perform the steps comprising: generating with the computer a plurality of support removal sequences; and selecting with the computer one of the support removal sequences based upon an optimization constraint.
 9. A system in accordance with claim 8, further comprising code for execution by the processor to perform the steps comprising: representing in the computer a set of states, each state identifying one of the orientations of the machining tool assembly and describing a negative volume of the part, with one of the states representing an initial state; representing with the computer a set of actions, each action one of the orientations of the machining tool assembly and describing the maximal sub-volume of material removable from the negative volume of the part by the machining tool assembly; and repetitively transitioning with the computer, starting at the initial state, from one of the states to another of the states by choosing one of the actions as guided by a heuristic that is based on aggregate cost and the negative volume that remains after subtracting the maximal sub-volume for the action chosen.
 10. A system in accordance with claim 1, further comprising code for execution by the processor to perform the step comprising: choosing one of the support structures with the computer for evaluating the support structure for the existence of a contact feature through a motion planning algorithm.
 11. A system in accordance with claim 1, further comprising code for execution by the processor to perform the step comprising: reordering the support removal sequence and re-attempting to create the process plans beginning with the step of determining with the computer a manner of construction of each of the support structures based upon the reordered support removal sequence.
 12. A method for planning support removal in hybrid manufacturing with the aid of a digital computer, comprising the steps of: providing a computer with parameters for a machining tool assembly, each parameter comprising orientations and positions of the machining tool assembly; providing the computer with a model of a part defining surfaces and the interior of the part and one or more support structures that were added to the part during additive manufacturing and modeling a near-net shape with the computer initially as the part combined with the support structures; setting up with the computer a configuration space comprising geometric transformations that represent the spatial motions of the machining tool assembly based upon the machining tool assembly's parameters; determining with the computer a manner of construction of each of the support structures to provide contact features at an intersection of the support structures and the part; evaluating each of the support structures with the computer for the existence of a contact feature within free-space that is available within the configuration space around the near-net shape that comprises a feasible region of contact for the tool assembly to remove all of the support structures that are accessible from the near-net shape, wherein the support structure is added to a support removal sequence and the near-net shape is continually updated as each support structure is incrementally removed; constructing with the computer for each of the support structures in the support removal sequence a set of collision-free contact configurations of the machining tool assembly at the contact feature, provided that contact features are found for all of the support structures; creating process plans comprising machining operations by the machining tool assembly with the computer based upon the sets of collision-free contact configurations of the machining tool assembly for the support structures; and programming the machining tool assembly with the computer with the process plans and operating the machining tool assembly per the machining operations in the process plans by machining off the support structures.
 13. A method in accordance with claim 12, further comprising the step of: defining the free-space around the near-net shape with the computer as the set of all of the machining tool assembly geometric transformations of the machining tool assembly that do not collide with the near-net shape and any workholding devices that are used to fixture the part as the support structures are removed.
 14. A method in accordance with claim 13, wherein the free-space F_(N) around the near-net shape N is defined in accordance with: F _(N) ={g∈C s.t. T _(g) ∩*{N∪W}=∅} where C represents the configuration space, T_(g) refers to the machining tool assembly transformed by an element g∈C, ∩* refers to regularized intersection, and W represents any workholding devices.
 15. A method in accordance with claim 14, wherein each f∈F_(i), where f is a feasible region of contact for the tool assembly T within the configuration space C to either partially or totally remove the individual support beam S_(i), is defined in accordance with: π₁(A _(F) _(i) ^(N))=f where A_(F) _(i) ^(N) is the set of collision-free contact configurations of tool assembly T at the contact feature F_(i), provided that A_(F) _(i) ^(N)≠∅.
 16. A method in accordance with claim 15, wherein F_(i) comprises a discrete point set comprising the intersection i of the support beam S_(i) being evaluated and the part P.
 17. A method in accordance with claim 12, wherein the near-net shape is continually updated comprising the steps of: modeling the near-net shape with the computer as the part combined with the support structures minus the support structure being evaluated; and removing with the computer the support structure being evaluated from the model of the support structures.
 18. A method in accordance with claim 12, further comprising the step of: finding with the computer that the part is non-manufacturable when no contact feature within free-space around the near-net shape that comprises a feasible region of contact for the tool assembly within the configuration space to remove the support structure from the near-net shape exists.
 19. A method in accordance with claim 12, further comprising the steps of: generating with the computer a plurality of support removal sequences; and selecting with the computer one of the support removal sequences based upon an optimization constraint.
 20. A method in accordance with claim 19, further comprising the steps of: representing in the computer a set of states, each state identifying one of the orientations of the machining tool assembly and describing a negative volume of the part, with one of the states representing an initial state; representing with the computer a set of actions, each action one of the orientations of the machining tool assembly and describing the maximal sub-volume of material removable from the negative volume of the part by the machining tool assembly; and repetitively transitioning with the computer, starting at the initial state, from one of the states to another of the states by choosing one of the actions as guided by a heuristic that is based on aggregate cost and the negative volume that remains after subtracting the maximal sub-volume for the action chosen.
 21. A method in accordance with claim 12, further comprising the step of: choosing one of the support structures with the computer for evaluating the support structure for the existence of a contact feature through a motion planning algorithm.
 22. A method in accordance with claim 12, further comprising the step of: reordering the support removal sequence and re-attempting to create the process plans beginning with the step of determining with the computer a manner of construction of each of the support structures based upon the reordered support removal sequence. 